# 假设你是一位很棒的家长，想要给你的孩子们一些小饼干。但是，每个孩子最多只能给一块饼干。
#
# 对每个孩子 i，都有一个胃口值 g[i]，这是能让孩子们满足胃口的饼干的最小尺寸；并且每块饼干 j，都有一个尺寸 s[j] 。如果 s[j] >= g[i]，我们可以将这个饼干 j 分配给孩子 i ，这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子，并输出这个最大数值。
#
# 来源：力扣（LeetCode）
# 链接：https://leetcode-cn.com/problems/assign-cookies
# 著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。

def findContentChildren(g: [int], s: [int]) -> int:
    g.sort(), s.sort()
    lg, ls = len(g), len(s)
    if lg > ls:
        g = g[:ls]
        lg = ls
    elif ls > lg:
        s = s[ls-lg:]
        ls = lg
    res, i, j = 0, 0, 0
    while i < lg and j < ls:
        if g[i] <= s[j]:
            res += 1
            i += 1
            j += 1
        else:
            j += 1
    return res



if __name__ == '__main__':
    print(findContentChildren(g=[2,2,2,4,6,7], s=[1,2]))